package com.luych.toolbox.docker.service.sdk.container.model;

import com.fasterxml.jackson.annotation.JsonProperty;

public class DockerContainerUpdateParam {

    @JsonProperty("MemoryReservation")
    private Long memoryReservation;

    @JsonProperty("Memory")
    private Long memory;

    @JsonProperty("CpuPeriod")
    private Long cpuPeriod;

    @JsonProperty("CpusetMems")
    private String cpusetMems;

    @JsonProperty("RestartPolicy")
    private RestartPolicy restartPolicy;

    @JsonProperty("CpuQuota")
    private Long cpuQuota;

    @JsonProperty("CpuRealtimeRuntime")
    private Long cpuRealtimeRuntime;

    @JsonProperty("BlkioWeight")
    private Long blkioWeight;

    @JsonProperty("CpuShares")
    private Long cpuShares;

    @JsonProperty("MemorySwap")
    private Long memorySwap;

    @JsonProperty("CpusetCpus")
    private String cpusetCpus;

    @JsonProperty("CpuRealtimePeriod")
    private Long cpuRealtimePeriod;

    @JsonProperty("KernelMemory")
    private Long kernelMemory;

    public Long getMemoryReservation() {
        return memoryReservation;
    }

    public void setMemoryReservation(Long memoryReservation) {
        this.memoryReservation = memoryReservation;
    }

    public Long getMemory() {
        return memory;
    }

    public void setMemory(Long memory) {
        this.memory = memory;
    }

    public Long getCpuPeriod() {
        return cpuPeriod;
    }

    public void setCpuPeriod(Long cpuPeriod) {
        this.cpuPeriod = cpuPeriod;
    }

    public String getCpusetMems() {
        return cpusetMems;
    }

    public void setCpusetMems(String cpusetMems) {
        this.cpusetMems = cpusetMems;
    }

    public RestartPolicy getRestartPolicy() {
        return restartPolicy;
    }

    public void setRestartPolicy(RestartPolicy restartPolicy) {
        this.restartPolicy = restartPolicy;
    }

    public Long getCpuQuota() {
        return cpuQuota;
    }

    public void setCpuQuota(Long cpuQuota) {
        this.cpuQuota = cpuQuota;
    }

    public Long getCpuRealtimeRuntime() {
        return cpuRealtimeRuntime;
    }

    public void setCpuRealtimeRuntime(Long cpuRealtimeRuntime) {
        this.cpuRealtimeRuntime = cpuRealtimeRuntime;
    }

    public Long getBlkioWeight() {
        return blkioWeight;
    }

    public void setBlkioWeight(Long blkioWeight) {
        this.blkioWeight = blkioWeight;
    }

    public Long getCpuShares() {
        return cpuShares;
    }

    public void setCpuShares(Long cpuShares) {
        this.cpuShares = cpuShares;
    }

    public Long getMemorySwap() {
        return memorySwap;
    }

    public void setMemorySwap(Long memorySwap) {
        this.memorySwap = memorySwap;
    }

    public String getCpusetCpus() {
        return cpusetCpus;
    }

    public void setCpusetCpus(String cpusetCpus) {
        this.cpusetCpus = cpusetCpus;
    }

    public Long getCpuRealtimePeriod() {
        return cpuRealtimePeriod;
    }

    public void setCpuRealtimePeriod(Long cpuRealtimePeriod) {
        this.cpuRealtimePeriod = cpuRealtimePeriod;
    }

    public Long getKernelMemory() {
        return kernelMemory;
    }

    public void setKernelMemory(Long kernelMemory) {
        this.kernelMemory = kernelMemory;
    }

    public static class RestartPolicy {

        @JsonProperty("MaximumRetryCount")
        private Long maximumRetryCount;

        @JsonProperty("Name")
        private String name;

        public Long getMaximumRetryCount() {
            return maximumRetryCount;
        }

        public void setMaximumRetryCount(Long maximumRetryCount) {
            this.maximumRetryCount = maximumRetryCount;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}